package models

// Role 代表系统权限角色
type Role struct {
	ID    uint   `json:"key" gorm:"primarykey"` // 数据库主键
	Label string `json:"label"`                 // 角色名称
}

// User 代表系统的用户
type User struct {
	ID        uint `json:"id" gorm:"primarykey"` // 数据库主键
	CreatedAt uint `json:"createdAt"`            // 创建时间

	Mail string `json:"mail" gorm:"index:,unique"` // 邮箱地址 注册时使用 具有唯一性

	Username string `json:"username"` // 用户名
	Password string `json:"-"`        // 加密后的密码

	Address string `json:"address"` // 区块链账户地址

	RoleID uint `json:"-"` // 用户所属角色的外键
	Role   Role `json:"role" mapstructure:",squash"`
}
